import { Versioned } from "vitepress-versioning-plugin";

export namespace Xugu {
  export interface NotFoundOptions {
    /**
     * @default '404'
     */
    code: string;

    /**
     * Set aria label for home link.
     *
     * @default "Go to the home page"
     */
    linkLabel: string;

    /**
     * Set custom home link text.
     *
     * @default "Take Me Home"
     */
    linkText: string;

    /**
     * Set custom not found description.
     *
     * @default "This page tried to swim in lava"
     */
    quote: string;

    /**
     * Set custom not found message.
     *
     * @default 'Page not found'
     */
    title: string;
  }

  export interface SidebarItem extends Versioned.SidebarItem {
    text: string;
    translatable?: false;
    items?: SidebarItem[];
  }

  export interface ThemeConfig extends Versioned.ThemeConfig {
    notFound: NotFoundOptions;
    version: VersionOptions;
  }

  export interface VersionOptions {
    /**
     * Set custom text for switcher button.
     *
     * @default 'Switch Version'
     */
    switcher: string;

    /**
     * Set custom message for version reminder.
     *
     * @default 'This page is written for version:'
     */
    reminder: string;

    /**
     * Set custom message for version display.
     *
     * @default 'v1.0.0'
     */
    display: string;
  }
}
